package com.qf.common.core.entity.shop;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.Date;

/**
* 店铺信息表
* @author GaoQiangLiang
 * @TableName shop
*/
@Data
public class Shop {

    /**
    * 店铺ID
    */
    @NotBlank(message="[店铺ID]不能为空")
    @ApiModelProperty("店铺ID")
    private Long shopId;
    /**
    * 店主用户ID
    */
    @NotBlank(message="[店主用户ID]不能为空")
    @ApiModelProperty("店主用户ID")
    private Long userId;
    /**
    * 店铺名称
    */
    @NotBlank(message="[店铺名称]不能为空")
    @Size(max= 100,message="编码长度不能超过100")
    @ApiModelProperty("店铺名称")
    @Length(max= 100,message="编码长度不能超过100")
    private String shopName;
    /**
    * 店铺logoURL
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("店铺logoURL")
    @Length(max= 255,message="编码长度不能超过255")
    private String shopLogo;
    /**
    * 店铺描述
    */
    @Size(max= -1,message="编码长度不能超过-1")
    @ApiModelProperty("店铺描述")
    @Length(max= -1,message="编码长度不能超过-1")
    private String shopDescription;
    /**
    * 店铺等级(1-5)
    */
    @ApiModelProperty("店铺等级(1-5)")
    private Integer shopLevel;
    /**
    * 店铺评分(0-5)
    */
    @ApiModelProperty("店铺评分(0-5)")
    private BigDecimal shopScore;
    /**
    * 所在省
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("所在省")
    @Length(max= 50,message="编码长度不能超过50")
    private String province;
    /**
    * 所在市
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("所在市")
    @Length(max= 50,message="编码长度不能超过50")
    private String city;
    /**
    * 所在区
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("所在区")
    @Length(max= 50,message="编码长度不能超过50")
    private String district;
    /**
    * 详细地址
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("详细地址")
    @Length(max= 255,message="编码长度不能超过255")
    private String address;
    /**
    * 联系电话
    */
    @Size(max= 20,message="编码长度不能超过20")
    @ApiModelProperty("联系电话")
    @Length(max= 20,message="编码长度不能超过20")
    private String contactPhone;
    /**
    * 营业执照图片URL
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("营业执照图片URL")
    @Length(max= 255,message="编码长度不能超过255")
    private String businessLicense;
    /**
    * 状态(0-关闭 1-正常 2-审核中)
    */
    @ApiModelProperty("状态(0-关闭 1-正常 2-审核中)")
    private Integer status;
    /**
    * 创建时间
    */
    @NotBlank(message="[创建时间]不能为空")
    @ApiModelProperty("创建时间")
    private Date createTime;
    /**
    * 更新时间
    */
    @NotBlank(message="[更新时间]不能为空")
    @ApiModelProperty("更新时间")
    private Date updateTime;


    /**
     * 商店销量
     */
    private Integer shopSells;

    /**
     * 商店库存
     */
    private Integer shopSnum;
}
